local youjiaowulei = fk.CreateSkill{
    name = "lingling__youjiaowulei",
    tags = {Skill.Wake},
}
Fk:loadTranslationTable{
    ["lingling__youjiaowulei"] = "有教无类",
    [":lingling__youjiaowulei"] = "觉醒技，游戏开始时，若没有体力上限为3的其他角色，你加1点体力上限，回复1点体力，失去“以理服人”和“小儿辩日”的后半段描述，本局你使用【杀】造成的伤害+1。",

    ["$lingling__youjiaowulei1"] = "有教无类，童子羞于霸功。",
    ["$lingling__youjiaowulei2"] = "见德思齐，狂夫成于圣业。",
}

youjiaowulei:addEffect(fk.GameStart, {
    can_trigger = function (self, event, target, player, data)
        return player:hasSkill(youjiaowulei.name) and player:usedSkillTimes(youjiaowulei.name, Player.HistoryGame) == 0
    end,
    can_wake = function (self, event, target, player, data)
        return not table.find(player.room:getOtherPlayers(player), function (cp)
            return cp.maxHp == 3
        end)
    end,
    mute = true,
    on_use = function (self, event, target, player, data)
        local room = player.room
        room:setEmotion(player, "./packages/lingling/image/anim/refresh_skin")
        if player.general == "lingling__kongqiu" then
            player.general = "lingling__kongqiu2"
            room:broadcastProperty(player, "general")
        elseif player.deputyGeneral == "lingling__kongqiu" then
            player.deputyGeneral = "lingling__kongqiu2"
            room:broadcastProperty(player, "deputyGeneral")
        end
        room:notifySkillInvoked(player, youjiaowulei.name, "big")
        room:changeMaxHp(player, 1)
        room:recover{ who = player , num = 1, skillName = youjiaowulei.name }
    end,
})

youjiaowulei:addEffect(fk.CardUsing, {
    can_refresh = function (self, event, target, player, data)
        return player == target and player:usedSkillTimes(youjiaowulei.name, Player.HistoryGame) > 0 and data.card.trueName == "slash"
    end,
    on_refresh = function (self, event, target, player, data)
        player.room:doAnimate("InvokeSkill", {
            name = youjiaowulei.name,
            player = player.id,
            skill_type = "offensive",
        })
        data.additionalDamage = ( data.additionalDamage or 0 ) + 1
    end,
})

return youjiaowulei